package com.hanbang.chu_xing_gao_zhao.utils;

import java.text.ParseException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import com.hanbang.chu_xing_gao_zhao.utils.MyLocationUtils.locationCallback;

import android.widget.TextView;

/**
 * 获取指定的字符串
 *
 * @author yang
 */
public class StringUtils_2 {
    /**
     * 只获取字符串中的数字
     *
     * @param text
     * @return
     */
    public static String getNum(String text) {
        String a = text;
        String regEx = "[^0-9]";
        Pattern p = Pattern.compile(regEx);
        Matcher m = p.matcher(a);
        return m.replaceAll("").trim();
    }

    /**
     * 截取最后一个特殊字符的后面的内容
     *
     * @param text   被截取的文本
     * @param symbol 特殊的指定符
     * @return
     */
    public static String getText(String text, String symbol) {
        // 如果传过来的字符是空，或者不包括特殊字符则直接返回原对象

        if (text == null || !text.contains(symbol)) {

            return text;
        }
        text = text.substring(text.lastIndexOf(symbol)+1);
        return text;
    }



    /**
     * 传过来一个还long的字符串 根据时间的的长短返回对应的时间 1，不到1分钟返回刚刚 2，超过1分钟返回**分钟 3，不到1天返回**小时
     * 4，超过1天返回long 的日期
     *
     * @param text
     * @return
     */
    public static String getTime(String text) {

        // 1.把传过来的Date 中的数字取出来。2.然后设置时间格式。3.把一个long 数值转换成日字符串
        long time_long = Long.parseLong(getNum(text));

        long current = TimeTools.getDateLong();
        long hourLong = current - time_long;
        String date = "yyyy- MM- dd";
        try {
            date = TimeTools.converLongToString(time_long, date);

        } catch (ParseException e) {

            e.printStackTrace();
        }
        // 如果小于1天，显示发布小时
        if (hourLong < (60 * 60 * 24 * 1000)) {
            // 如果不满足1小时显示分钟
            int hour = ((int) hourLong / (60 * 60 * 1000) == 0) ? 0 : (int) hourLong / (60 * 60 * 1000);
            if (hour == 0) {
                // 分钟的判断，如果是0分钟显示 刚刚
                String content = hourLong / (60 * 1000) == 0 ? "刚刚" : hourLong / (60 * 1000) + "分钟前";
                return content;

            } else {

                return String.valueOf(hour + "小时前");

            }

        } else {
            // 显示日期
            return String.valueOf(date);
        }

    }

    /**
     * 得到中间的字符串
     *
     * @param content     被截取的内容
     * @param beginSymbol 开始的符号
     * @param endSymbol   结束的符号
     * @return 截取好的字条串
     */
    public static String getString(String content, String beginSymbol, String endSymbol) {


        return content.substring(content.indexOf(beginSymbol) + 1, content.indexOf(endSymbol));
    }

    /**
     * 得到中间的字符串
     *
     * @param content     被截取的内容
     * @param beginSymbol 开始的符号
     * @param endSymbol   结束的符号
     * @return 截取好的字条串
     */
    public static String getString(String content, int beginSymbol, String endSymbol) {


        return content.substring(content.indexOf(beginSymbol) + 1, content.indexOf(endSymbol));
    }


}
